data = json.loads(data_str)
#получается список списков из форматированной строки.
#Этот список списков вероятно надо загрузить в Pandas, в таблицу.
result = '\n'.join(map(str, data)) #
#join берёт список и объединяет его в строку с символом или строкой разделителем.
#И еще и map http://pythonicway.com/python-functinal-programming.
# Результат не имеет смысла для твоей задачи.
f_res = '[Date, Amount]\n' + result #Как бы верно, если для таблицы в виде списка
#списков надо добавить заголовки, то можно к заголовкам присоединить саму таблицу .
#Но здесь не имеет смысла. Cам заголовок в виде строки, а не списка из элементов,
#в таблице не 2, а 3 столбца, и самой таблицы в виде #списка списков уже нет -
#преобразована обратно в строку
f_res1 = re.findall(r', *.*,', f_res) # непонятно что нужно найти. См. про регекспы, удобно тренироваться на #regext101.com
f_res1_1 = ' '.join(f_res1[0:30])
f_res2 = f_res1_1.replace(',', ' ') # тут код имеет смысл, если предположить, что в f_res1 есть
#список найденных результатов и от него берётся первые 30 элементов
#(надо заранее проверять, есть ли в нём столько, или предусмотреть обработку ошибки).
f_res3 = {'price': f_res2} # допустим создаётся словарь ключ price, значение - длинная строка
f_res4 = pd.DataFrame(f_res3, index=[0])# создать датафрейм из словаря это pd.DataFrame.from_records(...
import pandas as pd
req = requests.get('https://steamcommunity.com/market/listings/730/Glove%20Case')
search = re.search('var line1=(.+);', req.text)
data_str = search.group(1)
data1 = json.loads(data_str) #получем с помощью json или через split список строк,
#который будет преобразован в 3 колонки
data2 = [i.replace('"', '').split(',') for i in data] # обработать строки -
#убрать лишние двойные кавычки, разбить каждую строку на 3 элемента
df1 = pandas.DataFrame.from_records(data=data2, columns=['c1','c2','c3']) #загрузить, назвать колонки
df1.dtypes()#проверить, какие типы получились при импорте, и привести колонки к нужным типам
df1['c1'] = df1.apply(lambda x: x[1].replace(' +',''), axis=1) #убрать из строки с датой лишние символы,
#но это можно было бы сделать и на каком-то из предыдущих шагов с помощью регекспа или replace
df1['c1'] = pandas.to_datetime(df1['c1']) #преобразовать в тип datetime
df1['c2'] = pandas.to_numeric(df1['c2']) #преобразовать в число, пандас должен понять, что будет float
df1['c3'] = pandas.to_numeric(df1['c3']) # преобразовать в число, паднас должен понять, что будет int
data3 = [(i[0].replace(' +', ''), i[1], int(i[2])) for i in data2]
req1=request...
soup1=bs(req1.content, 'html.parser')
result1=re.findall(re.compile(r'line1=(.*)]];'), str(soup1) ) [0] #у меня получился result1=список из одного элемента
list1=result1.split('],[')
out1
Out[133]:
['[["Dec 09 2015 01: +0",7.989,"44"',
'"Dec 10 2015 01: +0",5.743,"66"',
'"Dec 11 2015 01: +0",5.277,"73"',
'"Dec 12 2015 01: +0",5.262,"89"',
'"Dec 13 2015 01: +0",4.953,"66"',
'"Dec 14 2015 01: +0",4.65,"80"',
'"Dec 15 2015 01: +0",6.189,"67"',
'"Dec 16 2015 01: +0",4.673,"53"',
'"Dec 17 2015 01: +0",4.55,"44"',
'"Dec 18 2015 01: +0",4.458,"53"',
'"Dec 19 2015 01: +0",4.419,"61"',
.....
'"Aug 30 2022 07: +0",1.709,"2"',
'"Aug 30 2022 09: +0",1.67,"1"',
'"Aug 30 2022 10: +0",0.203,"1"',
'"Aug 30 2022 12: +0",1.748,"1"',
'"Aug 30 2022 13: +0",1.75,"2"',
'"Aug 30 2022 14: +0",1.708,"2"',
'"Aug 30 2022 18: +0",1.1,"2"',
'"Aug 30 2022 20: +0",1.776,"1"',
'"Aug 30 2022 21: +0",1.745,"2"',
'"Aug 30 2022 22: +0",1.61,"1"',
'"Aug 30 2022 23: +0",1.847,"1"',
'"Aug 31 2022 02: +0",1.63,"1"',
'"Aug 31 2022 03: +0",1.82,"2"',
'"Aug 31 2022 04: +0",1.58,"1"',
'"Aug 31 2022 06: +0",1.58,"1"',
'"Aug 31 2022 10: +0",1.24,"1"',
'"Aug 31 2022 11: +0",1.897,"1"',
'"Aug 31 2022 13: +0",1.58,"1"',
'"Aug 31 2022 14: +0",1.854,"2"',
'"Aug 31 2022 15: +0",1.41,"1"']
len(out1)
Out[134]: 2816
rows = soup.find('table',class_ ='betinfo2').find('tbody').find_all('tr')
from selenium import webdriver
import selenium
import time
driver=webdriver.Chrome('C:\\inst\\chromedriver_win32\\chromedriver.exe')
page2='https://____.ru/gde_kupit_kvartiru/agentstva_nedvizhimosti?page=1'
driver.get(page2)
time.sleep(3)
driver.find_element(selenium.webdriver.common.by.By.XPATH,
f'//*[@class="show-"]').click()
time.sleep(4) #я задержку ставил на всякий случай, возможно, сработает и без неё, если там совсем никто с парсерами не борется
try:
a=driver.find_element(selenium.webdriver.common.by.By.XPATH,
f'//li[contains(@class, "phone-")]').text
print ('a=', a)
except Exception:
print (Exception)
try:
b=driver.find_element(selenium.webdriver.common.by.By.XPATH,
f'//a[contains(@href, "tel:+")]').text
print ('b=', b)
except Exception:
print (Exception)
dict_={}
for i in range (0,len(...)):
dict_[all_authors_names[i].text]={item_views_hrefs[i].text: item_views_hrefs[i].get('href')}
link='https://codernet.ru/media/'
r1=requests.get(link) #создаётся объект request с содержимым, полученным в ответ от сервера. Сам по себе он не текст странички
r2=r1.content.decode('utf-8') #декодируется содержимое, r2 это уже текст
soup1=bs.find_all ('a') #парсер beautifulsoup ищет все теги <a> где стоят ссылки
f1= open ('путь", 'wb')
r1 = requests.get('link1')
f1.write(r1.content)
f1.close()
import urllib.request
url ='https://www.uralprombank.ru/files/misc/admiralgorshkov-15.doc'
urllib.request.urlretrieve(url, "с:\\text.doc")
[{'cena': '\n \t 2\xa0345\xa0000\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-lx-570-vnedorozhnik-2011-g-v-probeg-117000-km-avtomat-5-7-l-advert740313755.html'},
{'cena': '\n \t 1\xa0200\xa0000\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-gx-470-vnedorozhnik-2004-g-v-probeg-133569-km-avtomat-4-7-l-advert750625481.html'},
{'cena': '\n \t 1\xa0320\xa0000\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-rx-270-vnedorozhnik-2011-g-v-probeg-115000-km-avtomat-advert749088541.html'},
{'cena': '\n \t 1\xa0500\xa0000\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-gs-250-sedan-2013-g-v-probeg-142145-km-avtomat-2-5-l-advert753188137.html'},
{'cena': '\n \t 1\xa0839\xa0999\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-lx-570-vnedorozhnik-2008-g-v-probeg-265000-km-avtomat-5-7-l-advert752860724.html'},
{'cena': '\n \t 845\xa0000\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-rx-350-vnedorozhnik-2006-g-v-probeg-196000-km-avtomat-3-5-l-advert752339702.html'},
{'cena': '\n \t 1\xa0400\xa0000\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-ls-460-sedan-2012-g-v-probeg-390000-km-avtomat-advert744369992.html'},
{'cena': '\n \t 3\xa0900\xa0000\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-lx-limuzin-2010-g-v-probeg-44000-km-avtomat-advert699227821.html'},
{'cena': '\n \t 3\xa0400\xa0000\xa0руб.\n \t ',
'link': 'https://irr.ru/cars/passenger/used/lexus-lx-570-vnedorozhnik-2013-g-v-probeg-75000-km-avtomat-advert753194033.html'}]
import re
import urllib
regexp1='(\/diff\/\d{1,2}-\d{1,2}.?doc)'
f=urllib.request.urlopen('http://1311.ru/info/info.php') #открывает, возвращает объект http (не текст)
b=f.read() #читает из него в bytes
text=b.decode() #из bytes в utf-8 (кодировка по умолчанию, поэтому в аргументах декод можно не писать) переводит в текст
out=re.findall(regexp1, text)
#далее, зная адрес сайта
for i in out:
print ("http://1311.ru"+i)
http://1311.ru/diff/16-09.doc
http://1311.ru/diff/17-09.doc