Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- from bs4 import BeautifulSoup
- import mysql.connector
- url = 'https://www.newegg.com/Video-Cards-Video-Devices/Category/ID-38?Tpk=graphics%20card'
- source = requests.get(url).text
- soup = BeautifulSoup(source, 'lxml')
- conn = mysql.connector.connect(host='127.0.0.1', user='x', database='scrape',password="x")
- cursor = conn.cursor()
- item_container = soup.find_all('div', class_='item-container')
- def get_data():
- lists = []
- for index, item_name in enumerate(item_container):
- name = item_name.find_all('a', class_='item-title')[0].text
- lists.append({'name': name})
- lists[index]['index'] = index
- for index, item_price in enumerate(item_container):
- price = item_price.find('li', class_='price-current').find('strong')
- if price == None:
- price == ('Not Available')
- lists[index]['price'] = price
- else:
- price = ('$' + price.text +'.99')
- prices = []
- lists[index]['price'] = price
- for index, item_picture in enumerate(item_container):
- picture = 'http:' + item_picture.find('img', class_='lazy-img')['data-src']
- lists[index]['picture'] = picture
- for index, item_shipping in enumerate(item_container):
- shipping = (item_shipping.find('li', class_='price-ship').text).strip()
- lists[index]['shipping'] = shipping
- def create_table():
- val_index = lists[index]['index']
- val_name = lists[index]['name']
- val_picture = lists[index]['picture']
- val_price = lists[index]['price']
- val_shipping = lists[index]['shipping']
- add_item = ("INSERT INTO newegg "
- "(id, itemname, itempic, itemprice, itemshipping) "
- "VALUES (%s, %s, %s, %s, %s)")
- data_item = (val_index, val_name, val_picture, val_price, val_shipping)
- cursor.execute("DELETE FROM newegg ")
- conn.commit()
- cursor.execute(add_item, data_item)
- conn.commit()
- cursor.close()
- conn.close()
- create_table();
- get_data()
Add Comment
Please, Sign In to add comment